<?php



/**

 * 多用户商城 前台公用文件

 * ============================================================================

 * 版权所有 2015-2018 多用户商城科技有限公司，并保留所有权利。

 * 网站地址: #;

 * ----------------------------------------------------------------------------

 * 仅供学习交流使用，如需商用请购买正版版权。不承担任何法律责任。

 * 踏踏实实做事，堂堂正正做人。

 * ============================================================================

 * $Author: derek $

 * $Id: init.php 17217 2016-01-19 06:29:08Z derek $

*/



if (!defined('IN_ECS'))

{

    die('Hacking attempt');

}



error_reporting(E_ALL);



if (__FILE__ == '')

{

    die('Fatal error code: 0');

}



/* 取得当前ecshop所在的根目录 */

define('ROOT_PATH', str_replace('includes/init.php', '', str_replace('\\', '/', __FILE__)));

define('TOKEN', "leileiceshi");

define('ROOT_PATH_WAP', str_replace('/mobile','',ROOT_PATH));

if (!file_exists(ROOT_PATH . '../data/install.lock') && !file_exists(ROOT_PATH . '../includes/install.lock')

    && !defined('NO_CHECK_INSTALL'))

{

    header("Location: ./../install/index.php\n");



    exit;

}



/* 初始化设置 */

@ini_set('memory_limit',          '64M');

@ini_set('session.cache_expire',  180);

@ini_set('session.use_trans_sid', 0);

@ini_set('session.use_cookies',   1);

@ini_set('session.auto_start',    0);

@ini_set('display_errors',        0);



if (DIRECTORY_SEPARATOR == '\\')

{

    @ini_set('include_path', '.;' . ROOT_PATH);

}

else

{

    @ini_set('include_path', '.:' . ROOT_PATH);

}



require(ROOT_PATH . '../data/config.php');



if (defined('DEBUG_MODE') == false)

{

    define('DEBUG_MODE', 0);

}



if (PHP_VERSION >= '5.1' && !empty($timezone))

{

    date_default_timezone_set($timezone);

}



$php_self = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];

if ('/' == substr($php_self, -1))

{

    $php_self .= 'index.php';

}

define('PHP_SELF', $php_self);



require(ROOT_PATH . 'includes/inc_constant.php');

require(ROOT_PATH . 'includes/cls_ecshop.php');

require(ROOT_PATH . 'includes/cls_error.php');

require(ROOT_PATH . 'includes/lib_time.php');

require(ROOT_PATH . 'includes/lib_base.php');

require(ROOT_PATH . 'includes/lib_common.php');

require(ROOT_PATH . 'includes/lib_main.php');

require(ROOT_PATH . 'includes/lib_insert.php');

require(ROOT_PATH . 'includes/lib_goods.php');

require(ROOT_PATH . 'includes/lib_article.php');



/* 对用户传入的变量进行转义操作。*/

if (!get_magic_quotes_gpc())

{

    if (!empty($_GET))

    {

        $_GET  = addslashes_deep($_GET);

    }

    if (!empty($_POST))

    {

        $_POST = addslashes_deep($_POST);

    }



    $_COOKIE   = addslashes_deep($_COOKIE);

    $_REQUEST  = addslashes_deep($_REQUEST);

}



/* 创建 ECSHOP 对象 */

$ecs = new ECS($db_name, $prefix);

define('DATA_DIR', $ecs->data_dir());

define('IMAGE_DIR', $ecs->image_dir());



/* 初始化数据库类 */

require(ROOT_PATH . 'includes/cls_mysql.php');

$db = new cls_mysql($db_host, $db_user, $db_pass, $db_name);

$db->set_disable_cache_tables(array($ecs->table('sessions'), $ecs->table('sessions_data'), $ecs->table('cart')));

$db_host = $db_user = $db_pass = $db_name = NULL;



/* 创建错误处理对象 */

$err = new ecs_error('message.dwt');



/* 载入系统参数 */

$_CFG = load_config();



/* 载入语言文件 */

require(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/common.php');



if ($_CFG['shop_closed'] == 1)

{

    /* 商店关闭了，输出关闭的消息 */

    header('Content-type: text/html; charset='.EC_CHARSET);



    die('<div style="margin: 150px; text-align: center; font-size: 14px"><p>' . $_LANG['shop_closed'] . '</p><p>' . $_CFG['close_comment'] . '</p></div>');

}



if (is_spider())

{

    /* 如果是蜘蛛的访问，那么默认为访客方式，并且不记录到日志中 */

    if (!defined('INIT_NO_USERS'))

    {

        define('INIT_NO_USERS', true);

        /* 整合UC后，如果是蜘蛛访问，初始化UC需要的常量 */

        if($_CFG['integrate_code'] == 'ucenter')

        {

             $user = & init_users();

        }

    }

    $_SESSION = array();

    $_SESSION['user_id']     = 0;

    $_SESSION['user_name']   = '';

    $_SESSION['email']       = '';

    $_SESSION['user_rank']   = 0;

    $_SESSION['discount']    = 1.00;

}



if (!defined('INIT_NO_USERS'))

{

    /* 初始化session */

    include(ROOT_PATH . 'includes/cls_session.php');



    $sess = new cls_session($db, $ecs->table('sessions'), $ecs->table('sessions_data'));



    define('SESS_ID', $sess->get_session_id());

}

if(isset($_SERVER['PHP_SELF']))

{

    $_SERVER['PHP_SELF']=htmlspecialchars($_SERVER['PHP_SELF']);

}

if (!defined('INIT_NO_USERS'))

{

    /* 会员信息 */

    $user =& init_users();



    if (!isset($_SESSION['user_id']))

    {

        /* 获取投放站点的名称 */

        $site_name = isset($_GET['from'])   ? htmlspecialchars($_GET['from']) : addslashes($_LANG['self_site']);

        $from_ad   = !empty($_GET['ad_id']) ? intval($_GET['ad_id']) : 0;



        $_SESSION['from_ad'] = $from_ad; // 用户点击的广告ID

        $_SESSION['referer'] = stripslashes($site_name); // 用户来源



        unset($site_name);



        if (!defined('INGORE_VISIT_STATS'))

        {

            visit_stats();

        }

    }



    if (empty($_SESSION['user_id']))

    {

        if ($user->get_cookie())

        {

            /* 如果会员已经登录并且还没有获得会员的帐户余额、积分以及优惠券 */

            if ($_SESSION['user_id'] > 0)

            {

                update_user_info();

            }

        }

        else

        {

            $_SESSION['user_id']     = 0;

            $_SESSION['user_name']   = '';

            $_SESSION['email']       = '';

            $_SESSION['user_rank']   = 0;

            $_SESSION['discount']    = 1.00;

            if (!isset($_SESSION['login_fail']))

            {

                $_SESSION['login_fail'] = 0;

            }

        }

    }



    /* 设置推荐会员 */

    if (isset($_GET['u']))

    {

        set_affiliate();

    }



    /* session 不存在，检查cookie */

    if (!empty($_COOKIE['ECS']['user_id']) && !empty($_COOKIE['ECS']['password']))

    {

        // 找到了cookie, 验证cookie信息

        $sql = 'SELECT user_id, user_name, password ' .

                ' FROM ' .$ecs->table('users') .

                " WHERE user_id = '" . intval($_COOKIE['ECS']['user_id']) . "' AND password = '" .$_COOKIE['ECS']['password']. "'";



        $row = $db->GetRow($sql);



        if (!$row)

        {

            // 没有找到这个记录

           $time = time() - 3600;

           setcookie("ECS[user_id]",  '', $time, '/');

           setcookie("ECS[password]", '', $time, '/');

        }

        else

        {

            $_SESSION['user_id'] = $row['user_id'];

            $_SESSION['user_name'] = $row['user_name'];

            update_user_info();

        }

    }



    if (isset($smarty))

    {

        $smarty->assign('ecs_session', $_SESSION);

    }

}



if ((DEBUG_MODE & 1) == 1)

{

    error_reporting(E_ALL);

}

else

{

    error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));

}

if ((DEBUG_MODE & 4) == 4)

{

    include(ROOT_PATH . 'includes/lib.debug.php');

}

if(preg_match('/MicroMessenger/i', $_SERVER['HTTP_USER_AGENT'])){
    if(!isset($_SESSION["openid"])||empty($_SESSION["openid"])){//openid为空
        if(isset($_COOKIE["openid"]) && !empty($_COOKIE["openid"])){
            $_SESSION["openid"]=$_COOKIE["openid"];
        }else{
            include_once (ROOT_PATH . 'includes/modules/payment/wxpay.php');
            $payObj = new wxpay();
            $payObj->getOpenId();
        }
    }
}

/* 判断是否支持 Gzip 模式 */

if (!defined('INIT_NO_SMARTY') && gzip_enabled())

{

    ob_start('ob_gzhandler');

}

else

{

    ob_start();

}





/*websc.la mobile start*/

if (!defined('INIT_NO_SMARTY'))

{

    header('Cache-control: private');

    header('Content-type: text/html; charset='.EC_CHARSET);



    /* 创建 Smarty 对象。*/

    require(ROOT_PATH . 'includes/cls_template.php');

    $smarty = new cls_template;



    $smarty->cache_lifetime = $_CFG['cache_time'];

$ua = strtolower($_SERVER['HTTP_USER_AGENT']);

$uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|mobile)/i";

if(($ua == '' || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER['REQUEST_URI']),'wap'))

{

$smarty->template_dir   = ROOT_PATH . 'themesmobile/68ecshopcom_mobile';

$smarty->cache_dir      = ROOT_PATH . 'temp/caches';

$smarty->compile_dir    = ROOT_PATH . 'temp/compiled';

}

else

{

    $smarty->template_dir   = ROOT_PATH . 'themesmobile/68ecshopcom_mobile';

    $smarty->cache_dir      = ROOT_PATH . 'temp/caches';

    $smarty->compile_dir    = ROOT_PATH . 'temp/compiled';

}



    if ((DEBUG_MODE & 2) == 2)

    {

        $smarty->direct_output = true;

        $smarty->force_compile = true;

    }

    else

    {

        $smarty->direct_output = false;

        $smarty->force_compile = false;

    }



    $smarty->assign('lang', $_LANG);

    $smarty->assign('ecs_charset', EC_CHARSET);

if(($ua == '' || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER['REQUEST_URI']),'wap'))

{

    if (!empty($_CFG['stylename']))

    {

$smarty->assign('ecs_css_path', 'themesmobile/' . $_CFG['template'] . '/style_' . $_CFG['stylename'] . '.css');

}

else

{

 $smarty->assign('ecs_css_path', 'themesmobile/' . $_CFG['template'] . '/style.css');

}

}else

{

if (!empty($_CFG['stylename']))

{

         $smarty->assign('ecs_css_path', 'themesmobile/' . $_CFG['template'] . '/style_' . $_CFG['stylename'] . '.css');

    }

    else

    {

         $smarty->assign('ecs_css_path', 'themesmobile/' . $_CFG['template'] . '/style.css');

    }



}

}

/*

$_SERVER['REQUEST_URI'] = $_SERVER['REQUEST_URI'] ? $_SERVER['REQUEST_URI'] : "/moblie/";

$autoUrl = str_replace($_SERVER['REQUEST_URI'],"",$GLOBALS['ecs']->url());



@file_get_contents($autoUrl."/weixin/auto_do.php");

*/



?>